Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add physio data #9

Merged
merged 7 commits into from
Jan 17, 2024
Merged

Add physio data #9

merged 7 commits into from
Jan 17, 2024

Conversation

me-pic
Copy link
Contributor

@me-pic me-pic commented Dec 21, 2023

Add segmented raw physio data (PPG, ECG, EDA, RESP, TTL channels):

  • tsv.gz files (timeseries)
  • json sidecar (column names, sampling rate, start time)

@me-pic me-pic requested a review from bpinsard December 21, 2023 20:23
@bpinsard
Copy link
Contributor

bpinsard commented Jan 9, 2024

To maximize BIDS compliance we should add a top-level _physio.json file in each dataset with :

  • Manufacturer RECOMMENDED string Manufacturer of the equipment that produced the measurements.
  • ManufacturersModelName RECOMMENDED string Manufacturer's model name of the equipment that produced the measurements.
  • SoftwareVersions RECOMMENDED string Manufacturer's designation of software version of the equipment that produced the measurements.
  • DeviceSerialNumber RECOMMENDED string The serial number of the equipment that produced the measurements. A pseudonym can also be used to prevent the equipment from being identifiable, so long as each pseudonym is unique within the dataset.

Biopac
MP160
Acknowledge xx.yy
SerialNumber -> to be looked up downstairs if not in the acq files headers.

Also add more verbose columns descriptions ( such as describing ECG or EDA or PPG electrode types/ placement on the body/ signal-specific amplifier module... and specifying units if we can have it) with additional fields as in this example in the spec:

{
    "SamplingFrequency": 100.0,
    "StartTime": -22.345,
    "Columns": ["cardiac", "respiratory", "trigger"],
    "Manufacturer": "Brain Research Equipment ltd.",
    "cardiac": {
        "Description": "continuous pulse measurement",
        "Units": "mV"
        },
    "respiratory": {
        "Description": "continuous measurements by respiration belt",
        "Units": "mV"
        },
    "trigger": {
        "Description": "continuous measurement of the scanner trigger signal"
        }
}

@me-pic
Copy link
Contributor Author

me-pic commented Jan 15, 2024

For the columns name + description, it is not possible to comply to the BIDS standards because they actually do not account for different type of cardiac signals (i.e. PPG vs ECG). Also, they don't provide a standard column name for EDA...

@bpinsard
Copy link
Contributor

IIUC, these are the column name so for us:

    "Columns": [
        "time",
        "EDA",
        "PPG",
        "ECG",
        "TTL",
        "RSP"
    ]

which should have a top-level json with something like:

{
...
"EDA": { 
       "Description": "continuous skin conductance measure",
        "Units": "AU"},
"PPG": {       "Description": "continuous pulse measurement",
        "Units": "whatever"} 
}

BTW: why do we have a column "time".
Can't we just use SamplingFrequency+StartTime to determine the time relative to fMRI?
If that's a column with a fixed increment (of 1/SamplingFrequency s) that's a lot of data for nothing.

@pbellec
Copy link

pbellec commented Jan 16, 2024

My 2 cents on the issue of the time column: it is negligible in terms of data size, and easier to parse for users than some kind of meta-data start time + sampling time. If we end up dropping frames as part of preprocessing, this format can also accomodate irregular grids. Is it something that is covered by the BIDS extension?

@bpinsard bpinsard merged commit a9182cf into main Jan 17, 2024
2 checks passed
@bpinsard
Copy link
Contributor

@all-contributors please add @me-pic for data preparation

Copy link
Contributor

@bpinsard

I've put up a pull request to add @me-pic! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants